// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Flags: --allow-natives-syntax

let arr = [];
// Make the array large enough to trigger re-checking for compaction.
arr[1000] = 0x1234;

// arr.__defineGetter__(256, function () {
//   // Remove the getter so we can compact the array.
//   delete arr[256];
//   // Trigger compaction.
//   arr.unshift(1.1);
// });

Object.defineProperty(arr, 256, {
  get() {
    delete arr[256];
    arr.unshift(1.1);
  },
});

let results = Object.entries(arr);
ArkTools.heapObjectVerify(results);
ArkTools.heapObjectVerify(arr);
let str = results.toString();
